package com.yunxi.order.pojo;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.yunxi.core.web.DateJsonDeserializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 新增批售单
 */
@Data
@ApiModel(value="批售单管理保存", description="")
public class OrderOemSaveReqVO implements Serializable {
    @ApiModelProperty(value = "车型编码")
    private String modelCode;
    @ApiModelProperty(value = "车系编码")
    private String seriesCode;
    @ApiModelProperty(value = "配置编码")
    private String catalogCode;
    @ApiModelProperty(value = "内饰颜色")
    private String colorCodeIn;
    @ApiModelProperty(value = "外饰颜色")
    private String colorCodeOut;
    @ApiModelProperty(value = "数量")
    private int num;
    @ApiModelProperty(value = "收货人")
    private String linkman;
    @ApiModelProperty(value = "联系方式")
    private String linkphone;
    @ApiModelProperty(value = "收货地址")
    private String storageCode;
    @ApiModelProperty(value = "付款方式")
    private String payway;
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonDeserialize(using=DateJsonDeserializer.class)
    @ApiModelProperty(value = "发运日期")
    private Date dispatchDate;
    @ApiModelProperty(value = "返利金额")
    private BigDecimal rebateAccount;
    @ApiModelProperty(value = "返利比例")
    private BigDecimal rebateProportion;
    @ApiModelProperty(value = "自提")
    private String isPickup;
    @ApiModelProperty(value = "选装包")
    private String customPackCodes;
    @ApiModelProperty(value = "电池包")
    private String batteryPackCode;
    @ApiModelProperty(value = "1批售或2寄售")
    private String type;
    @ApiModelProperty(value = "销售组织")
    private String organize;
    @ApiModelProperty(value = "渠道商编码")
    private String partnerCode;
    @ApiModelProperty(value = "操作人")
    private String createBy;
    @ApiModelProperty(value = "表示是1渠道商创建或2主机厂创建")
    private int orderCreateType;

    private String userCode;
    private Integer orderType;

    private BigDecimal taxesPrice;
    private BigDecimal marketPrice;
    private BigDecimal settlementPrice;
    private BigDecimal preferentialPrice;
    private String vipOrderId;

    private BigDecimal discountProportion; //折扣
    private BigDecimal specialDiscountProportion;//折扣-固定值

    private String detailId;
    @ApiModelProperty(value = "渠道商编码")
    private String partnerFinancial;
    private String vipId;
    private String businessType;
    private Integer submitType;
    private Integer vehiclePurpose;
    private String vehiclePurposeCn;
    private String customPackNames;

    @NotEmpty
    private String priceTryCompute;

    @ApiModelProperty(value = "备注")
    private String memo;
}
